/**
 * 
 */
package br.com.buscapecas.enumeration;


/**
 * @created 14/05/2010 - 09:10:06
 * @author Maikon Rafael da Rocha
 *
 */
public interface IDominio<T, E extends Enum<?>> {

    /**
     * @return
     * 
     * @author Maikon Rafael da Rocha
     * @since 04/05/2012 14:57:04
     */
    public abstract String getKey();

    /**
     * @return
     * 
     * @author Maikon Rafael da Rocha
     * @since 04/05/2012 14:57:09
     */
    public abstract String getLabel();

    /**
     * @return
     * 
     * @author Maikon Rafael da Rocha
     * @since 04/05/2012 14:57:12
     */
    public abstract String getHint();

    /**
     * @return
     * 
     * @author Maikon Rafael da Rocha
     * @since 04/05/2012 14:57:16
     */
    public abstract T getValue();

    /**
     * @param value
     * @return
     * 
     * @author Maikon Rafael da Rocha
     * @since 04/05/2012 14:57:22
     */
    public abstract E getValue(T value);
    
}
